﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace MsExchangeBcsConnector.ExchangeBdcModel.Helpers
{
    /// <summary>
    /// Все константы проекта
    /// </summary>
    public class Constants
    {

        internal const int MaxItemsCount = 1000;
        internal const int MaxBatchSize = 10;

        internal const string Profile_HostURL_Property = "Profile_HostURL";

        internal const string SearchProtocolName = "msews";

        public const string BcsNamespace = "MsExchangeBcsConnector";
        public const string LobSystemName = "MsExchange";

        public const string MailBoxRootName = "Root";
        public const string MailBoxEntityName = "MailBox";
        public const string MailFolderEntityName = "MailFolder";
        public const string MessageEntityName = "Message";

        public const string AttachmentEntityName = "Attachment";

        #region Exchange System Instance properties

            internal const string ProfileSiteUrlPropertyName = "ProfileSiteUrl";

            internal const string EmailDomainForCrawlingPropertyName = "EmailDomainForCrawling";

            internal const string ExchangeLoginPropertyName = "ExchangeLogin";

            internal const string ExchangePasswordPropertyName = "ExchangePassword";


            internal const string ExchangeServiceUrlPropertyName = "ExchangeServiceUrl";

            internal const string AdministratorSecurityGroupPropertyName = "AdminAdGroup";

            internal const string MailboxDisplayUrlPattern = "MailboxDisplayUrlPattern";

            internal const string MessageDisplayUrlPattern = "MessageDisplayUrlPattern";

            internal const string MailFolderDisplayUrlPattern = "MailFolderDisplayUrlPattern";

        #endregion

        #region Method Names

            internal const string ReadMailBoxList_MethodName = "ReadMailBoxList";
            internal const string ReadMailBox_MethodName = "ReadMailBox";
            internal const string MailBoxToMailFolder_MethodName = "MailBoxToMailFolder";
            internal const string ReadMailboxFoldersList_MethodName = "ReadMailboxFoldersList";

            internal const string MailFolderToMessage_MethodName = "MailFolderToMessage";
            internal const string ReadMailFolder_MethodName = "ReadMailFolder";

            internal const string ReadMailboxMessagesList_MethodName = "ReadMailboxMessagesList";
            internal const string ReadMailboxMessage_MethodName = "ReadMailboxMessage";
            internal const string GetAllAttachments_MethodName = "GetAllAttachments";
            internal const string GetSpecifiedAttachment_MethodName = "GetSpecifiedAttachment";
            internal const string AttachmentStream_MethodName = "AttachmentStream";
            internal const string ReadMailBoxSecurityDescriptor_MethodName = "ReadMailBoxSecurityDescriptor";
            internal const string ReadMessageSecurityDescriptor_MethodName = "ReadMessageSecurityDescriptor";
            internal const string ReadAttachmentSecurityDescriptor_MethodName = "ReadAttachmentSecurityDescriptor";
            internal const string ReadMailFolderSecurityDescriptor_MethodName = "ReadMailFolderSecurityDescriptor";

            internal const string ReadChangedMessagesIds_MethodName = "ReadChangedMessagesIds";

        #endregion


       #region Parameter Names

            public const string EMail_ParameterName = "EMail";
            public const string MailFolderID_ParameterName = "MailFolderID";
            public const string MessageId_ParameterName = "MessageId";
            public const string AttachmentId_ParameterName = "AttachmentId";

       #endregion

    }
}
